package com.iris.live.services.data.repositories;

import com.iris.live.services.models.ResultData;
import com.iris.live.services.services.ImgtService;

import java.util.List;
import java.util.Map;

/**
 *
 */
public interface ImgtRepository {
    /**
     * 各项KPI统计指标计算
     * @param name
     * @param startDate
     * @param endDate
     * @param role
     * @param roleCode
     * @param areaRole
     * @param areaCode
     * @param brand
     * @param actualValue
     * @param actualValueCode
     * @return
     */
    Map KPI(String name, String startDate, String endDate,
            String role, String roleCode, String areaRole,
            String areaCode, String brand, String actualValue,
            String actualValueCode);

    List KPI2(String name, String startDate, String endDate, String role, String roleCode, String areaRole, String areaCode, String brand);

    List getSalesAndGpKpiWhenDealer(String name, String beginDate, String endDate, String role, String roleCode, String areaRole, String areaCode, String brand);

    List getStoreKpiDataWhenDealer(String name, List<String> list, String brand, String permit);
    /**
     * 显示KPI二级页面，包括分车系和分级显示
     * @param list 统计开始时间和结束时间
     * @param items
     * @return
     */
    ResultData getSalesAndGpKPISecondPage(List<String> list, ImgtService.KPIPage items);

    ResultData getStoreKPISecondPage(List<String> list, ImgtService.KPIPage items);

    List getAreaForDealer(String permit);

    List getAreaForDealerTwo(String permit);

    List getAreaForDealerThree(String permit);

    List getPermitWithSameLshCoder(String permit);

    List getApprovalUserInfo(String lshPermit, String type);

    ResultData getApprovalUserInfoBrand(String permit, String type);

    List getContractFlowSetting(Integer type);

    List getDepartmentByShowRoom(String permit);

    List getPositionByDepartment(String permit, String department);

    List getUserNameByPosition(String permit, String department, String position);

    /**
     * 获取指定月份新增销量统计，不分车型
     * @param year
     * @param month
     * @return
     */
    List getCarSaleInfoes(String year, String month);
}
